Image processing apparatus for displaying a preview image including first and second objects analyzed with different degrees of analysis precision and method of controlling the apparatus

ABSTRACT

An image processing apparatus displays a preview image of an input job and a method controls the apparatus. The apparatus determines an attribute of an object included in an input job, analyzes the job while switching the degree of the precision of analysis of the job based on a user-specified display size and the attribute of the object, and generates and displays a preview image of the job based on the analysis results.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an image processing apparatus thatanalyzes an object in an input job and a method of controlling theapparatus.

2. Description of the Related Art

Printers capable of displaying a preview image of an input print jobhave been conventionally proposed, and such printers display a previewimage using sample image data that has been prepared in advance.Specifically, a printer selects an optimum sample image from amongprepared multiple sample images according to the characteristics of animage included in an input print job and displays the selected sampleimage as a provisional preview image. This reduces the load on the CPUof the printer and enables quick display of a preview image (seeJapanese Patent Laid-Open No. 2007-188054).

However, the aforementioned conventional preview image is merely onesample image and not a preview image corresponding to the input printjob. It is thus desired that a preview image corresponding to an inputjob be displayed.

Also, conventionally, only an input job that includes image data in ascanner readable format has been treated as a job to be previewed.However, input jobs may also be in various other formats. Examples ofsuch input jobs include PDL (page description language) jobs in PDLformat, jobs in XPS or PDF format or the like, and scan jobs ofcorrecting, editing, and modifying a scanned image. Consider the casewhere such various input jobs are stored in an HDD of a printer andpreview images corresponding to the input jobs are displayed on a userinterface (UI) screen of the printer body. To generate preview imagesfrom such various input jobs at high speed, it is necessary to eitheromit or simplify part of complicated interpretation processing andrendering processing. However, omission or simplification of theprocessing could lead to the problem that information that the userwants to confirm may not be displayed as a preview image.

SUMMARY OF THE INVENTION

An aspect of the present invention is to eliminate the above-mentionedproblems with the conventional technology.

A feature of the present invention is to provide a technique forgenerating and displaying a preview image that reliably containsinformation that the user wants to confirm.

According to an aspect of the present invention, there is provided animage processing apparatus comprising: an obtaining unit that obtains auser-specified display size of a preview image; a determination unitthat determines an attribute of an object included in a job; an analysisunit that analyzes the object while switching the degree of analysisprecision, based on the display size obtained by the obtaining unit andthe attribute of the object determined by the determination unit; and apreview image generation unit that generates preview image dataregarding the job, based on analysis results analyzed by the analysisunit.

According to another aspect of the present invention, there is provideda method of controlling an image processing apparatus for analyzing anobject in a job, comprising: an obtaining step of obtaining auser-specified display size of a preview image; a determination step ofdetermining the attribute of an object included in the job; an analysisstep of analyzing the object while switching the degree of analysisprecision, based on the display size obtained in the obtaining step andthe attribute of the object determined in the determination step; and apreview image generation step of generating preview image data regardingthe job, based on the analysis results analyzed in the analysis step.

Further features and aspects of the present invention will becomeapparent from the following description of exemplary embodiments, withreference to the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of the specification, illustrate embodiments of the invention and,together with the description, serve to explain the principles of theinvention.

FIG. 1 is a block diagram illustrating a functional configuration of acontroller that controls the operation of a printer according to anembodiment of the present invention.

FIG. 2 is a functional block diagram describing the function of a jobanalyzer according to the embodiment of the present invention.

FIGS. 3A to 3C depict views describing the precision with which previewimages are output according to a first embodiment.

FIG. 4 is a diagram describing job attributes.

FIG. 5 is a flowchart describing the processing performed by a jobanalyzer according to the first embodiment.

FIG. 6 is a diagram illustrating the precision of analysis by the jobanalyzer according to the embodiment of the present invention.

FIG. 7 is a flowchart describing analysis processing performed by thejob analyzer according to the first embodiment.

FIGS. 8A to 8C depict views illustrating example images displayed aspreview images according to the first embodiment.

FIGS. 9A to 9C are diagrams illustrating the actual sizes of the previewimages.

FIG. 10 is a diagram illustrating the precision of analysis by a jobanalyzer according to a second embodiment.

FIG. 11 is a flowchart describing processing performed by the jobanalyzer according to the second embodiment.

FIGS. 12A to 12C depict views illustrating example raster imagesdisplayed as a preview according to the second embodiment.

FIG. 13 is a diagram describing the precision of analysis by a jobanalyzer according to a third embodiment.

FIG. 14 is a flowchart describing processing performed by the jobanalyzer according to the third embodiment.

FIGS. 15A to 15C depict views illustrating example raster imagesdisplayed as a preview according to the third embodiment.

FIGS. 16A and 16B are flowcharts describing processing performed by ajob analyzer according to a fourth embodiment.

FIG. 17 is a diagram describing an example of analysis results of aninput job according to the fourth embodiment.

DESCRIPTION OF THE EMBODIMENTS

Embodiments of the present invention will now be described hereinafterin detail, with reference to the accompanying drawings. It is to beunderstood that the following embodiments are not intended to limit theclaims of the present invention, and that not all of the combinations ofthe aspects that are described according to the following embodimentsare necessarily required with respect to the means to solve the problemsaccording to the present invention.

First Embodiment

FIG. 1 is a block diagram describing a functional configuration of acontroller 100 that controls the operation of a printer according to afirst embodiment of the present invention. This printer includes ascanner unit 116, and a description is given of a case where the printeris a multifunction peripheral (MFP) capable of communicating withexternal devices on a network, for example. Part of the functionalconfiguration of the controller 100 is implemented by the CPU of thecontroller 100 executing a control program.

A printer interface 113 inputs and outputs data from and to externaldevices on a network 114. A protocol controller 112 analyzes a networkprotocol and communicates with external devices with the networkprotocol. A job analyzer 101 analyzes data in an input job (hereinaftersimply referred to as a “job”), such as a PDL job and a scan job, andconverts the job into intermediate data whose format is easy to processin a raster image processor (RIP) 102. The intermediate data generatedby the job analyzer 101 is transmitted to and processed by the RIP 102.The RIP 102 develops the intermediate data into raster image data andstores the developed image data into a page memory 111. The page memory111 is a volatile memory that temporarily stores raster image data thathas been developed by the RIP 102.

A panel I/O controller 106 inputs information manipulated from a consolepanel 115 and outputs display data to the console panel 115. A documentstorage unit 107 stores jobs such as PDL jobs and scan jobs on ajob-by-job basis and is implemented by a secondary storage unit such asa hard disk (HDD). The storing of jobs in the document storage unit 107enables the user to retrieve and output (print) the jobs repeatedly atany time. A scan controller 108 performs various processing such ascorrection, modification, and editing on image data that has been inputfrom the scanner unit 116. A print controller 109 performs printing byconverting the contents of the page memory 111 into print data andoutputting the print data to a printer engine 110. The printer engine110 forms a visible image on recording paper (a recording medium such asa sheet of paper) according to the print data.

FIG. 2 is a functional block diagram describing the function of the jobanalyzer 101 according to the first embodiment, where common parts tothose in FIG. 1 are denoted by the same reference numerals and have notbeen described.

An output precision determination section 201 acquires user-specifieddisplay-size information regarding a preview image from the panel I/Ocontroller 106 and determines the output precision (described later) atthe time of preview display based on the information. An analysisprecision switching section 202 switches the degree (1 to n) of analysisprecision 203 at the time of analyzing a job according to thedetermination results obtained by the output precision determinationsection 201 and objects constituting the job. Next, the output precisionaccording to the first embodiment will be described with reference toFIGS. 3A to 3C.

FIGS. 3A to 3C depicts views describing the precision with which previewimages displayed on the console panel 115 are output according to thefirst embodiment. Three types of preview images are shown in FIGS. 3A to3C.

A display panel 301 is provided on the console panel 115 and is capableof displaying a preview image. In the first embodiment, the outputprecision in a case where a large-size preview image 303, such as theenlarged display in FIG. 3A, is required is described as a display inwhich the “display size is large”. Also, the output precision in a casewhere a small-size preview image 305, such as the thumbnail displayed inFIG. 3C, is required is described as a display in which the “displaysize is small”. Further, the precision with which a preview image 304having an intermediate size between the above two images, as shown inFIG. 3B, is output is described as a display in which the “display sizeis medium”.

FIG. 4 is a diagram describing job attributes.

An input job 401 includes objects 402, 403, and 404. Each object has anattribute attached thereto by an application or the user. For example,the object 402 has a graphic attribute attached thereto, the object 403has an image attribute attached thereto, and the object 404 has acharacter attribute attached thereto. By using such attributes, the RIP102 can generate attribute information 406 in bitmap format indicatingthe attribute of each pixel, simultaneously with the generation ofraster image data 405. In the present embodiment, the RIP 102 performspreview-image generation processing in which preview image data isgenerated based on objects that have been analyzed by the job analyzer101 and a preview image is displayed based on the preview image data.Reference numerals 410 to 412 in the attribute information 406 denotegraphic pixels, image pixels, and character pixels, respectively. Byreferring to the attribute information 406, optimum image processing canbe performed on each pixel in the raster image data 405.

FIG. 5 is a flowchart describing the processing performed by the jobanalyzer 101 according to the first embodiment.

First, the output precision determination section 201 of the jobanalyzer 101 determines the output precision in step S1. Next, theprocess proceeds to step S2 where the job analyzer 101 starts theanalysis of an input job. The process then proceeds to step S3 where thejob analyzer 101 extracts objects included in the job. Then, the processproceeds to step S4 where the analysis precision switching section 202of the job analyzer 101 performs analysis processing while switching thedegree of analysis precision for each object. The details of theprocessing performed for each object will be described later. Then, theprocess proceeds to step S5 where the job analyzer 101 determineswhether or not the analysis of the job has been completed, and repeatsthe processing from steps S2 to S5 until the analysis is completed.

Following is a description of the processing in which the job analyzer101 according to the first embodiment analyzes bitmap objects includedin an input job. Note that, in the first embodiment, three levels shownin FIG. 6 are prepared for the degree of the analysis precision 203switched by the analysis precision switching section 202 in step S4.

FIG. 6 is a diagram describing the degree of the precision of analysisby the job analyzer 101 according to the present embodiment. Forconvenience sake, three degrees of the analysis precision are referredto respectively as Level 1, Level 2, and Level 3. Here, Level 1 is alevel at which the job analyzer 101 analyzes the edge of a bitmappedcharacter “A” so that the character “A” is represented as is as a rasterimage. Level 2 is a level at which the edge of the character “A” is notanalyzed and only the edge of the rectangular bitmap is analyzed so asto represent a black rectangular raster image. Level 3 is a level atwhich the bitmap is not analyzed and thus nothing appears as a rasterimage.

Hereinbelow, the processing performed by the job analyzer 101 in whichbitmap objects included in a job are analyzed is described withreference to the flowchart of FIG. 7.

FIG. 7 is a flowchart describing the analysis processing performed bythe job analyzer 101 according to the first embodiment.

First, it is determined in step S11 whether or not the determinationresult obtained by the output precision determination section 201 instep S1 is “display size is large”. If it is determined as “display sizeis large”, then the process proceeds to step S15, and otherwise, theprocess proceeds to step S12. In step S15, the job analyzer 101 performsanalysis processing of an edge included in the bitmap (the analysisprecision at this time is at Level 1). Meanwhile, in step S12, the jobanalyzer 101 determines whether or not the object extracted in step S3in FIG. 5 has a character attribute and an image size greater than orequal to a threshold value. If this is the case, then the processproceeds to step S15 where the aforementioned processing is performed,and otherwise, the process proceeds to step S13. In step S13, it isdetermined whether or not the determination result obtained by theoutput precision determination section 201 in step S1 is “display sizeis small”. If so, then the process proceeds to step S14, and otherwise,the process proceeds to step S16. In step S16, the job analyzer 101performs analysis processing of the edge of a bounding box of the bitmap(the analysis precision at this time is at Level 2). Meanwhile, in stepS14, the job analyzer 101 determines whether or not the object extractedin step S3 in FIG. 5 has a character attribute and an image size lessthan a threshold value. If this is the case, then the process proceedsto step S17, and otherwise, the process proceeds to step S16. In stepS17, the job analyzer 101 does not perform analysis processing of thebitmap (the analysis precision at this time is at Level 3).

FIGS. 8A to 8C depict views illustrating examples of raster image datagenerated at the time of displaying, as a preview image, a job thatincludes a bitmapped image where the character “A” is rendered, inaccordance with the aforementioned procedure of the first embodiment.

FIGS. 8A to 8C show raster image data generated respectively in thecases of “display size is large” (FIG. 8A) (indicated by 303 in FIG.3A), “display size is medium” (FIG. 8B) (indicated by 304 in FIG. 3B),and “display size is small” (FIG. 8C) (indicated by 305 in FIG. 3C).Although FIGS. 8A to 8C are all shown in the same size for improvedreadability of the drawings, their actual image sizes differ as shown inFIGS. 9A to 9C.

(1) Case where the bitmapped images respectively corresponding to FIGS.8A to 8C have a character attribute and an image size greater than orequal to a predetermined threshold value “10”.

In the case of FIG. 8A, that is, “display size is large”, the processbranches to step S15 based on the determination in step S11, so acharacter “A” is rendered as a raster image 801. In the case of FIG. 8B,that is, “display size is medium”, the process proceeds to step S15based on the determination in step S12 (greater than “10”), so acharacter “A” is rendered a raster image 802 as shown in FIG. 8B. In thecase of FIG. 8C, that is, “display size is small”, the process proceedsto step S15 based on the determination in step S12, so a character “A”is rendered as a raster image 803 as shown in FIG. 8C.

(2) Case where the bitmapped images respectively corresponding to FIGS.8A to 8C have a graphic attribute and an image size greater than a value“3” and less than the threshold value “10”.

In the case of “display size is large” in FIG. 8A, the process proceedsto step S15 based on the determination in step S11, so a graphic “A” isrendered as a raster image 804. In the case of “display size is medium”in FIG. 8B, it is determined as NO (less than the threshold value “10”)in step S12 and further as NO in step S13 and the process proceeds tostep S16, so a rectangle is rendered as a raster image 805. In the caseof “display size is small” in FIG. 8C, the process proceeds to step S14based on the determination in step S13 and then to step S16 since it isdetermined as NO in step S14. Thus a rectangle is rendered as a rasterimage 806.

(3) Case where the bitmapped images respectively corresponding to FIGS.8A to 8C have a character attribute and an image size greater than avalue “3” and less than the threshold value “10”.

In the case of “display size is large” in FIG. 8A, the process proceedsto step S15 based on the determination in step S11, so a character “A”is rendered as a raster image 807. In the case of “display size ismedium” in FIG. 8B, the process proceeds from steps S12 to S13 and thento step S16 since it is determined as not “display size is small”, so arectangle is rendered as a raster image 808. In the case of “displaysize is small” in FIG. 8C, the process proceeds from steps S13 to S14and then to step S17 since it is determined as “YES” in step S14, so noraster image is rendered as indicated by 809.

(4) Case where the bitmapped images respectively corresponding to FIGS.8A to 8C have a character attribute and an image size less than a value“3”.

In the case of “display size is large” in FIG. 8A, the process proceedsto step S15 based on the determination in step S11, so a character “A”is rendered as a raster image 810. In the case of “display size ismedium” in FIG. 8B, the process proceeds from steps S13 to S16, so arectangle is rendered as a raster image 811. Also, in the case of“display size is small” in FIG. 8C, the process proceeds to step S17since it is determined as YES (less than “10”) in step S14, so no rasterimage is rendered as indicated by 812.

As described above, analysis processing can be simplified (Level 2 ofthe analysis precision) or omitted (Level 3 of the analysis precision)depending on the output precision and the attribute of a bitmappedimage. Consequently, it is possible to increase the speed of theanalysis processing performed by the job analyzer 101 while maintainingthe visibility of a preview display screen, which enables quickgeneration and display of a preview image that reliably containsinformation that the user wants to confirm.

Second Embodiment

Next, a description is given of a second embodiment according to thepresent invention. In the second embodiment, processing is described inwhich a job analyzer 101 analyzes a path object (a combination of a lineand an area surrounded by the line) included in a job. Note that theconfiguration of the job analyzer 101 and the outline of the processingare the same as described above in the first embodiment with referenceto the flowchart of FIG. 5 and thus have not been described here.Additionally, the construction of the control program executed by theprinter is also similar to that described above in the first embodimentand thus has not been described. Here, three levels shown in FIG. 10 areprepared for the degrees of the analysis precision 203 switched by ananalysis precision switching section 202 according to the secondembodiment.

FIG. 10 is a diagram describing the degrees (levels) of the precision ofanalysis by the job analyzer according to the second embodiment.

Level 1 is a level at which the job analyzer 101 analyzes the edge of anobject and the shape of the object appears in the raster image. Level 2is a level at which the edge of the bounding box is analyzed withoutanalyzing the edge of an object and thus a rectangle appears in theraster image. Level 3 is a level at which an object is not analyzed andthus no shape appears in the raster image.

Next, the processing performed by the job analyzer 101 in which anobject included in a job is analyzed is described with reference to theflowchart of FIG. 11.

FIG. 11 is a flowchart describing the processing performed by the jobanalyzer 101 according to the second embodiment.

First, it is determined in step S21 whether or not the determinationresult obtained by the output precision determination section 201 instep S1 in FIG. 5 is “display size is large”. If so, then the processproceeds to step S26, and otherwise, the process proceeds to step S22.In step S26, the job analyzer 101 performs analysis processing of theedge of the path object (the analysis precision is at Level 1 in FIG. 6)and ends the process. Meanwhile, in step S22, the job analyzer 101determines whether or not the path object extracted in step S3 in FIG. 5has a character attribute and an image size greater than or equal to athreshold value. If this is the case, then the process proceeds to stepS26, and otherwise, the process proceeds to step S23. In step S23, thejob analyzer 101 determines whether or not the path object extracted instep S3 in FIG. 5 has a graphic attribute and an image size greater thanor equal to the threshold value. If this is the case, then the processproceeds to step S26, and otherwise, the process proceeds to step S24.In step S24, it is determined whether or not the determination resultobtained by the output precision determination section 201 in step S1 is“display size is small”. If so, then the process proceeds to step S25,and otherwise, the process proceeds to step S27. In step S25, the jobanalyzer 101 determines whether or not the path object extracted in stepS3 in FIG. 5 has a character attribute and an image size less than athreshold value. If this is the case, then the process proceeds to stepS28, and otherwise, the process proceeds to step S27. In step S27, thejob analyzer 101 performs analysis processing of the edge of a boundingbox of the path object (the analysis precision is at Level 2 in FIG. 6)and ends the process. Meanwhile, in step S28, the job analyzer 101 endsthe process without performing analysis processing of the path object(the analysis precision is at Level 3 in FIG. 6).

FIGS. 12A to 12C depict views illustrating examples of raster image datagenerated at the time of displaying a preview image of a job inaccordance with the procedure of the second embodiment.

FIGS. 12A to 12C show raster image data generated respectively in thecases of “display size is large” (indicated by 303), “display size ismedium” (indicated by 304), and “display size is small” (indicated by305) in FIGS. 3A to 3C. Although FIGS. 12A to 12C are all shown in thesame size for improved readability of the drawings as in the case of thefirst embodiment described above, their actual sizes correspond to FIGS.9A to 9C, respectively.

(1) Case where the paths respectively corresponding to FIGS. 12A to 12Chave a graphic attribute and an image size greater than or equal to apredetermined threshold value “10”.

In the case of “display size is large”, the process proceeds to step S26since it is determined as YES in step S21 in FIG. 11, so a path shape isrendered in a raster image 1201 in FIG. 12A. In the case of “displaysize is medium”, the process proceeds to step S26 since it is determinedas YES in step S23, so a path shape is rendered in a raster image 1202in FIG. 12B. In the case of “display size is small”, the processproceeds to step S26 since it is determined as YES in step S23, so apath shape is rendered in a raster image 1203 in FIG. 12C.

(2) Case where the paths respectively corresponding to FIGS. 12A to 12Chave a graphic attribute and an image size greater than a value “3” andless than the threshold value “10”.

In the case of “display size is large”, the process proceeds to step S26since it is determined as YES in step S21, so a path shape is renderedin a raster image 1204 in FIG. 12A. In the case of “display size ismedium”, the process proceeds to step S27 since it is determined as NOin step S24, so a rectangle, which is a bounding box of the path, isrendered in a raster image 1205 in FIG. 12B. In the case of “displaysize is small”, the process proceeds to step S28 since it is determinedas YES in step S25, so no path is rendered in the raster image in FIG.12C, as indicated by 1206.

(3) Case where the paths respectively corresponding to FIGS. 12A to 12Chave a character attribute and an image size greater than or equal to apredetermined threshold value “10”.

In the case of “display size is large”, the process proceeds to step S26since it is determined as YES in step S21, so a path shape “W” isrendered in a raster image 1207 in FIG. 12A. In the case of “displaysize is medium”, the process proceeds to step S26 since it is determinedas YES in step S22, so a path shape “W” is rendered in a raster image1208 in FIG. 12B. In the case of “display size is small”, the processproceeds to step S26 since it is determined YES in step S22, so a pathshape “W” is rendered in a raster image 1209 in FIG. 12C.

(4) Case where the paths respectively corresponding to FIGS. 12A to 12Chave a character attribute and an image size greater than a value “3”and less than the threshold value “10”.

In the case of “display size is large”, the process proceeds to step S26since it is determined “YES” in step S21, so a path shape “W” isrendered in a raster image 1210 in FIG. 12A. In the case of “displaysize is medium”, the process proceeds to step S27 since it is determinedas NO in step S24, so a rectangle, which is a bounding box of the path,is rendered in a raster image 1211 in FIG. 12B. In the case of “displaysize is small”, the process proceeds to step S27 since it is determinedas NO in step S25, so a rectangle, which is a bounding box of the path,is rendered in a raster image 1212 in FIG. 12C.

(5) Case where the paths respectively corresponding to FIGS. 12A to 12Chave a character attribute and an image size less than a value “3”.

In the case of “display size is large”, the process proceeds to step S26since it is determined as YES in step S21, so a path shape “W” isrendered in a raster image 1213 in FIG. 12A. In the case of “displaysize is medium”, the process proceeds to step S27 since it is determinedas NO in step S24, so a rectangle, which is a bounding box of the path,is rendered in a raster image 1214 in FIG. 12B. In the case of “displaysize is small”, the process proceeds to step S28 since it is determinedas YES (less than “10”) in step S25, so no path is rendered in theraster image in FIG. 12C, as indicated by 1215.

As described above, the second embodiment also achieves similar effectsto those of the first embodiment described above. Specifically, analysisprocessing can be simplified (Level 2 of the analysis precision) oromitted (Level 3 of the analysis precision) depending on the outputprecision and the attribute of a path. Consequently, it is possible toincrease the speed of the analysis processing performed by the jobanalyzer 101 while maintaining the visibility of a preview displayscreen, which enables quick generation and display of a preview imagethat reliably contains information that the user wants to confirm.

Third Embodiment

Next, in another embodiment of the present invention, processing isdescribed in which a job analyzer 101 analyzes the color of an objectincluded in a job. Note that the configuration of the job analyzer 101and the outline of the processing are the same as described above in thefirst embodiment with reference to the flowchart of FIG. 5, and thusthey have not been described here. Additionally, the construction of thecontrol program executed by the printer is also similar to thatdescribed above in the first embodiment and thus has not been described.Here, three levels shown in FIG. 13 are prepared for analysis precision203 switched by an analysis precision switching section 202 according toa third embodiment.

FIG. 13 is a diagram describing the degrees (levels) of the precision ofanalysis by the job analyzer 101 according to the third embodiment.

Level 1 is a level at which the job analyzer 101 first performs gammaprocessing on the color values of an object and then obtains RGB valuesfor display on a device, using look-up tables A and B for colorconversion processing. Level 2 is a level at which the job analyzer 101performs gamma processing and obtains RGB values for display on adevice, using a simplified look-up table X for color conversionprocessing. Level 3 is a level at which the job analyzer 101 does notperform gamma processing and obtains RGB values for display on a device,only using the simplified look-up table X for color conversionprocessing.

Hereinbelow, the processing performed by the job analyzer 101, in whichthe color values of an object included in a job are analyzed, isdescribed with reference to the flowchart of FIG. 14.

FIG. 14 is a flowchart describing the processing performed by the jobanalyzer 101 according to the third embodiment.

First, it is determined in step S31 whether or not the determinationresult obtained by the output precision determination section 201 instep S1 in FIG. 5 is “display size is large”. If “display size islarge”, then the process proceeds to step S34, and otherwise, theprocess proceeds to step S32. In step S34, the job analyzer 101 performsgamma processing on the color values of the object, then performs colorconversion processing, using the look-up tables A and B (the analysisprecision is at Level 1), and ends the process. Meanwhile, in step S32,the job analyzer 101 determines whether or not the object extracted instep S3 in FIG. 5 has an image attribute and color values in apredetermined format. If the attribute of the object is an imageattribute and the color values of the object are in the predeterminedformat, then the process proceeds to step S34, and otherwise, theprocess proceeds to step S33. In step S33, it is determined whether ornot the determination result obtained by the output precisiondetermination section 201 in step S1 in FIG. 5 is “display size issmall”. If so, then the process proceeds to step S36, and otherwise, theprocess proceeds to step S35. In step S35, the job analyzer 101 performsgamma processing on the color values of the object, then performs colorconversion processing, using the simplified look-up table X (theanalysis precision is at Level 2), and ends the process. Meanwhile, instep S36, the job analyzer 101 performs only color conversion processingon the color values of the object, using the simplified look-up table X,without performing gamma processing (the analysis precision is at Level3) and ends the process.

FIGS. 15A to 15C depict views illustrating examples of raster image datagenerated at the time of displaying a preview image of a job thatincludes an image, in accordance with the procedure of the thirdembodiment.

FIGS. 15A to 15C show raster image data generated respectively in thecases of “display size is large” (FIG. 15A), “display size is medium”(FIG. 15B), and “display size is small” (FIG. 15C). Although FIGS. 15Ato 15C are all shown in the same size for improved readability of thedrawings, their actual image sizes differ as shown in FIGS. 9A to 9C.

(1) Case where images respectively corresponding to FIGS. 15A to 15Chave a graphic attribute and color values in a predetermined RGB format.

In the case of “display size is large”, the process proceeds to step S34since it is determined as YES in step S31 in FIG. 14, so an image thathas undergone gamma processing and precise color conversion processingis rendered as a raster image 1501. In the case of “display size ismedium”, the process proceeds from steps S32 to S33 in FIG. 14 and thento step S35 since it is determined as NO in step S33, so an image thathas undergone gamma processing and simplified color conversionprocessing is rendered as a raster image 1502. In the case of “displaysize is small”, the process proceeds to step S36 since it is determinedas YES in step S33, so an image that has undergone only simplified colorconversion processing is rendered as a raster image 1503. Although boththe raster images 1502 and 1503 are rendered in different tones from theraster image 1501 because they have not undergone precise colorconversion processing, the influence of such a disadvantage isconsidered to be small because the display size is small.

(2) Case where images respectively corresponding to FIGS. 15A to 15Chave an image attribute and color values in a predetermined RGB format.

In the case of “display size is large”, the process proceeds to step S34since it is determined as YES in step S31 in FIG. 14, so an image thathas undergone gamma processing and precise color conversion processingis rendered as a raster image 1504. In the case of “display size ismedium”, the process proceeds to step S34 since it is determined as YESin step S32 in FIG. 14, so an image that has undergone gamma processingand precise color conversion processing is rendered as a raster image1505. In the case of “display size is small”, the process proceeds tostep S34 since it is determined as YES in step S32 in FIG. 14, so animage that has undergone gamma processing and precise color conversionprocessing is rendered as a raster image 1506.

As described above, in the third embodiment, analysis processing can besimplified (Level 2 of the analysis precision) or omitted (Level 3 ofthe analysis precision) depending on the output precision and theattribute of a bitmapped image. Consequently, it is possible to increasethe speed of the analysis processing performed by the job analyzer 101while maintaining the visibility of a preview display screen, whichenables quick generation and display of a preview image that reliablycontains information that the user wants to confirm.

Fourth Embodiment

In a fourth embodiment, a case is described where a job analyzer 101uses results of analysis processing performed before in order to analyzean object included in an input job. Note that the configuration of thejob analyzer 101 and the outline of the processing are the same asdescribed above in the first embodiment with reference to the flowchartof FIG. 5, and thus they have not been described here. Additionally, theconstruction of the control program executed by the printer is alsosimilar to that described above in the first embodiment and thus has notbeen described.

FIGS. 16A and 16B are flowcharts describing the processing performed bythe job analyzer 101 according to the fourth embodiment.

In step S41, an output precision determination section 201 of the jobanalyzer 101 determines the output precision. Next, the process proceedsto step S42 where the job analyzer 101 determines whether or not thereare analysis results of the object in the input job. If the job analyzer101 determines in step S43 that there are no analysis results of theobject, then the process proceeds to step S44, and if it is determinedthat there are analysis results of the object, then the process proceedsto step S50 (FIG. 16B).

First, a description is given of the processing from steps S44 to S49,which is performed when the job analyzer 101 has determined that thereare no analysis results of the object. In step S44, the job analyzer 101starts the analysis of a job. Next, in step S45, the job analyzer 101extracts an object included in the input job. The process then proceedsto step S46 where the job analyzer 101 assigns a unique object ID to theobject extracted in step S45. Then, the process proceeds to step S47where the job analyzer 101 performs analysis processing of the extractedobject while switching the degree of analysis precision. The switchingof the degree of the analysis precision is as described above in thefirst to third embodiments and thus has not been described here. Theprocess then proceeds to step S48 where the job analyzer 101 stores theanalysis results of the object, which are shared in each level of outputprecision, in association with the above object ID. Then, the jobanalyzer 101 determines in step S49 whether or not the analysis of thejob has been completed, and repeats the processing from steps S44 to S49until the analysis is completed.

Next, a description is given of the processing performed with referenceto FIG. 16B when the job analyzer 101 has determined in step S43 thatthere are analysis results of the object.

First, in step S50, the job analyzer 101 starts a job analysis using theanalysis results. Next, the process proceeds to step S51 where the jobanalyzer 101 extracts an object included in the input job and the objectID attached to the object. The process then proceeds to step S52 wherethe job analyzer 101 reads the analysis results corresponding to theobject ID. Then, the process proceeds to step S53 where the job analyzer101 determines whether or not to reuse the analysis results that havebeen read in step S52. If it is determined to reuse the analysisresults, then the process proceeds to step S54 where the job analyzer101 reuses the read analysis results and continues remaining necessaryanalysis processing. The process then proceeds to step S56 where the jobanalyzer 101 determines whether or not the analysis of the input job hasbeen completed, and repeats the processing from steps S50 to S56 untilthe analysis is completed. Meanwhile, if it is determined not to reusethe analysis results in step S53, then the process proceeds to step S55where the job analyzer 101 performs all analysis processing frombeginning to end without reusing the analysis results that have beenread in step S52, and the process proceeds to step S56.

FIG. 17 is a diagram describing an example data structure showinganalysis results of an input job according to the fourth embodiment.

Reference numeral 1701 denotes a job ID used to identify an input job,and there are three jobs (JOB0, JOB1, and JOB2) in the present example.A job (JOB2) 1707 includes a link to where the analysis results of thejob 1707 have been stored. On the other hand, jobs (JOB0 and JOB1) 1705and 1706 include no link, which indicates that no analysis results arestored for the jobs 1705 and 1706. Reference numeral 1702 denotes anobject ID used to identify an object, and the job 1707 includes twoobjects (OBJ0 and OBJ1) 1708 and 1709 in the present example. Theobjects 1708 and 1709 both include a link to an area 1703 whereinformation about analysis results is stored. Reference numeral 1704denotes the substance of data associated with the analysis results.

Next, a description is given of an example where results of analysisprocessing performed in the case of “display size is medium” accordingto the fourth embodiment are stored.

Reference numeral 1710 denotes an image having a graphic attribute andhaving undergone gamma processing, which can be shared in each level ofoutput precision. Since the analysis results have undergone only gammaprocessing, it is necessary in the analysis processing of step S54 inFIG. 16B to perform color conversion processing using a look-up table.Meanwhile, reference numeral 1711 denotes an image having an imageattribute and having undergone gamma processing, which will be shared ineach level of output precision, and precise color conversion processing.Accordingly, the analysis results thus obtained can be used as is at anyoutput precision. The area 1703 stores information (INFO) attached toanalysis results and, as described above, includes a link to informationindicating how far the analysis has progressed or to actual dataindicating analysis results.

As described above, according to the fourth embodiment, it is possibleto store the results of analysis processing performed before and to usethe analysis results for subsequent analysis processing. This increasesthe speed of the analysis processing performed by the job analyzer 101while maintaining the visibility of a preview display screen, even ifthe output precision may change, which enables quick generation anddisplay of a preview image that reliably contains information that theuser wants to confirm.

Other Embodiments

Aspects of the present invention can also be realized by a computer of asystem or apparatus (or devices such as a CPU or MPU) that reads out andexecutes a program recorded on a memory device to perform the functionsof the above-described embodiments, and by a method, the steps of whichare performed by a computer of a system or apparatus by, for example,reading out and executing a program recorded on a memory device toperform the functions of the above-described embodiments. For thispurpose, the program is provided to the computer for example via anetwork or from a recording medium of various types serving as thememory device (for example, computer-readable medium)

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2009-204135, filed Sep. 3, 2009, which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. An image processing apparatus comprising: adisplay unit configured to display a preview image in a first displaysize and in a second display size, the preview image displayed in thefirst display size being enlarged compared with the preview imagedisplayed in the second display size; a storage unit configured to storeimage data including a first object which has a first attribute and asecond object which has a second attribute being different from thefirst object; an analysis unit configured to, in a case that the previewimage including the first object and the second object is displayed inthe first display size, analyze the first object and the second objectwith a first analysis precision to generate preview image data fordisplaying the preview image in the first display size, and in a casethat the preview image including the first object and the second objectis displayed in the second display size, analyze the first object withthe first analysis precision and the second object with a secondanalysis precision to generate preview image data for displaying thepreview image in the second display size, a degree of the secondanalysis precision being lower than a degree of the first analysisprecision; and a display control unit configured to control the displayunit to display the preview image based on the preview image datagenerated by the analysis unit.
 2. The image processing apparatusaccording to claim 1, wherein the first attribute is a characterattribute, and wherein the second attribute is a graphic attribute. 3.The image processing apparatus according to claim 1, wherein the degreeof the first analysis precision is a precision in analyzing an edge ofan object and wherein the second analysis precision is a precision inanalyzing an edge of a bounding box of the object.
 4. The imageprocessing apparatus according to claim 1, further comprising: a holdingunit configured to hold analysis results of the first object and thesecond object analyzed by the analysis unit, wherein, if there areanalysis results of the first object and the second object stored in theholding unit, the analysis unit uses the held analysis results toanalyze new objects.
 5. The image processing apparatus according toclaim 1, further comprising a specifying unit configured to specify adisplay size of the preview image to be displayed based on the previewimage data.
 6. A method of controlling an image processing apparatuscomprising a display unit configured to display a preview image in afirst display size and in a second display size, the preview imagedisplayed in the first display size being enlarged compared with thepreview image displayed in the second display size, and a storage unitconfigured to store image data including a first object which has afirst attribute and a second object which has a second attribute beingdifferent from the first object, comprising: an analysis step of, in acase the preview image including the first object and the second objectis displayed in the first display size, analyzing the first object andthe second object with a first analysis precision to generate previewimage data for displaying the preview image in the first display size,and in a case that the preview image including the first object and thesecond object is displayed in the second display size, analyzing thefirst object with the first analysis precision and the second objectwith a second analysis precision to generate preview image data fordisplaying the preview image in the second display size, a degree of thesecond analysis precision being lower than a degree of the firstanalysis precision; and a display control step of controlling thedisplay unit to display the preview image based on the preview imagedata generated in the analysis step.
 7. A non-transitory computerreadable storage medium storing a program for causing a computer toexecute a method of controlling an image processing apparatus comprisinga display unit configured to display a preview image in a first displaysize and in a second display size, the preview image displayed in thefirst display size being enlarged compared with the preview imagedisplayed in the second display size, and a storage unit configured tostore image data including a first object which has a first attributeand a second object which has a second attribute being different fromthe first object, the method comprising: an analysis step of, in a casethat the preview image including the first object and the second objectis displayed in the first display size, analyzing the first object andthe second object with a first analysis precision to generate previewimage data for displaying the preview image in the first display size,and in a case that the preview image including the first object and thesecond object is displayed in the second display size, analyzing thefirst object with the first analysis precision and the second objectwith a second analysis precision to generate preview image data fordisplaying the preview image in the second display size, a degree of thesecond analysis precision being lower than a degree of the firstanalysis precision; and a display control step of controlling thedisplay unit to display the preview image based on the preview imagedata generated in the analysis.